c++ - 将 C++ 结构移植到 Delphi
全部标签 我一直在几个应用程序中使用YAML作为配置文件格式,除了一件事之外一切都很顺利:当我的程序需要在YAML配置文件中写入/修改配置变量时,它会通过加载和转储来破坏格式和注释整个文件/结构。(嗯,YAML实际上还有另一个问题。大多数用户,其中很多不是程序员,会被YAML规则的细节所绊倒,比如某些地方的空格的重要性。但这不是主要的提示.)我更喜欢的是可以进行往返解析(保留所有空格和注释)的YAML加载器/转储器,或者其他具有此类解析器的人类可读序列化格式。我什至在考虑使用Perl文档和PPI,因为PPI是一种往返安全的解析器。或者也许PPI可以处理YAML或类似格式?我宁愿不使用XML,我会
我正在编写一个FireMonkey应用程序,它必须在Windows和OSX中运行。到目前为止,我一直在我的Windows应用程序中使用MSXML,但是这个库当然与OSX不兼容。所以问题是,DelphiXE2是否包含与OSX兼容的任何XML库,或者是否有与OSX兼容的第三方XML库? 最佳答案 在Xml.XMLDoc;单元中,你有一个TXMLDocument;如果您选择DOMVendor:=ADOMXMLv4,它可用于Windows和OSX。它可以直接从工具面板中获得。 关于xml-Del
我得到了一个示例XML文件(最终我的客户每天都会收到其中的几个)和一个XSLT文件,该文件显然会将XML转换为具有有意义的布局的内容,适合在浏览器中显示或打印.我想将一些东西放入现有的旧版Delphi应用程序中,以便用户可以从驱动器中选择一个XML文件并“显示”它(在TWebBrowser或类似设备中)。我不知道从哪里开始,谷歌搜索delphi、xml和xslt给我的例子似乎是基于数据模块/数据库的;我只想将给定的XML文件转换为屏幕上的内容。看起来它可能涉及PageProducer,但我无法完全理解我需要做什么。有人提供任何指示,或者提供快速教程的链接吗?非常感谢!
也许之前有人问过这个问题,但我还没有找到关于Delphi的问题-我在VisualStudio中使用了一个XSD.exe,它确实是这样做的:将XSD转换为'plainvanilla'表示XSD中指定的实体的类-未绑定(bind)到XML文档-用于在XSD中创建结构的类,不访问符合XSD中概述的结构的数据。我正在寻找可以执行此操作的实用程序或产品(不需要花大钱......):例如,我有一个这样的架构:我想生成一个如下所示的Delphi单元/类:unituDelphiClass;interfaceusesClasses,SysUtils;typeTDelphiClass=class(TObj
将Delphi对象树序列化为XML的好方法是什么——使用RTTI而不是自定义代码?我很想发现此功能已经内置到Delphi中,但似乎并没有。我发现了一些似乎可以执行此功能的组件(已在下方发布)。您使用过其中任何一个或其他产品吗?你自己建的吗?我在Delphi中遗漏了什么明显的东西吗? 最佳答案 您可以使用JVCLTJvAppXMLFileStorage组件来序列化TPersistent派生类。usesJvAppXMLStorage;varStorage:TJvAppXMLFileStorage;beginStorage:=TJvApp
我打算为应用程序添加XML支持,但我不熟悉Delphi中的XML编程。基本上我需要创建基于XML节点的对象并生成基于对象的XML文件。我应该使用哪个XML组件库?是否有使用Delphi的XML的好的教程? 最佳答案 您可以从查看Delphi的TXMLDocument组件开始。这将为您提供使用XML/DOM的基础知识。它很简单,可以通过将其拖放到您的表单上来添加。它具有LoadFromFile和SaveToFile方法,并且易于导航。但是,在某些时候您会用尽TXMLDocument的功能,尤其是当您想要使用XPath之类的东西时。我建
XML日期和时间格式'-'?yyyy'-'mm'-'dd'T'hh':'mm':'ss('.'s+)?(zzzzzz)?是•'-'?yyyy是代表年份的四位或更多位可选负号数字;如果超过四位,则禁止使用前导零,并且禁止使用'0000'•剩下的'-'是日期部分之间的分隔符;•第一个mm是代表月份的两位数字;•dd是代表星期的两位数字;•“T”是一个分隔符,表示后面是时间;•hh是代表小时的两位数字;如果表示的分钟和秒为零,则允许使用“24”,并且这样表示的日期时间值是第二天的第一个时刻(·值空间·中日期时间对象的小时属性的值不能大于23);•':'是时间部分之间的分隔符;•第二个mm是代
我正在使用XMLDataBindingWizard在DelphiXE2.该架构需要这种类型的标签:问题是,如果我不添加任何元素,例如Values-组,不会有-tag,XML文件将无法通过XSD验证.如果接口(interface)提供了“添加”Values的方法,这可能不会成为问题。-标签。是否有处理此问题的标准方法,或者我是否错误地使用了生成的代码?简单地说,是否有任何方法,变通或其他方法,使用来自DataBindingWizard的代码,产生以下XML(这是在没有子节点时使用上述模式进行验证所需要的),给定HeaderType,ValuesType和EventsType是复杂类型:(
本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余,我决定把这本书精彩的部分摘录出来与大家分享。 写在前面算法这个词听起来很深奥,其实不然。它只是解决某个问题的一套流程。 准备一碗麦片的流程也可以说是一种算法,它包含以下4步(对我来说是4步吧)。(1)拿个碗。(2)把麦片倒进碗里。(3)把牛奶倒进碗里。(4)把勺子放到碗里。在计算机的世界里,算法则是指某项操作的过程。上一章我们研究了4种主要操作,包括读取、查找、插入和删除。这一章我们还是会经常提到它们,而且一种操作可能会有不止一种做法。也就是说,一种操作会有多种算法的实现。我们很快会看到不同的算法能使代码变快或者变慢——高负载
请向我推荐一个学习Windows操作系统内部Windows消息传递架构的好指针。一本好的引用书也行。问候 最佳答案 在线MSDN对此进行了很好的描述。您可以从AboutMessagesandMessageQueues开始,然后继续UsingmessagesandMessagequeues和Messagereference如果您需要深入了解细节。 关于Windows操作系统消息体系结构,我们在StackOverflow上找到一个类似的问题: https://st